//
//  MyTableViewCell.m
//  10-TbaleViewCell自定义
//
//  Created by mafeng on 16/7/27.
//  Copyright © 2016年 mafeng. All rights reserved.
//

#import "MyTableViewCell.h"
// 用@声明的类, 在用到的地方要import.
#import "News.h"
@interface MyTableViewCell ()
@property (nonatomic, strong) UIView *view;
@property (nonatomic, strong) UIImageView *myImageView;
@property (nonatomic,strong) UILabel *newsLabel;
@property (nonatomic,strong) UILabel *contentLabel;
@property (nonatomic,strong) UILabel *numberLabel;
@end
@implementation MyTableViewCell

- (instancetype)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        
    }
    return self;
}
// 自定义cell的初始化的方法
// initWithStyle: reuseIdentifier:
// 注意: 不要使用initWithFrame(这个方法不走)
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // TableViewCell的默认大小是 宽320 高44,所以该方法不能写坐标
        // 在初始化时, cell 的frame是初始值, 不能为自定义视图布局
        NSLog(@"初始化时, cell的frame是:%@", NSStringFromCGRect(self.frame));
        self.view = [[UIView alloc] initWithFrame:CGRectZero];
        _view.backgroundColor = [UIColor blueColor];
        // contentView 显示内容
        [self.contentView addSubview:_view];
        // 初始化方法只负责创建
        
        // 3. 创建的子视图应该添加到哪个父视图
        self.myImageView = [[UIImageView alloc] init];
        _myImageView.backgroundColor = [UIColor yellowColor];
        [self.contentView addSubview:_myImageView];
        
        self.newsLabel = [[UILabel alloc] init];
        _newsLabel.backgroundColor = [UIColor cyanColor];
        [self.contentView addSubview:_newsLabel];
        
        self.contentLabel = [[UILabel alloc] init];
        _contentLabel.backgroundColor = [UIColor whiteColor];
        [self.contentView addSubview:_contentLabel];
        
        // 上面不要加视图
        self.numberLabel = [[UILabel alloc] init];
        _numberLabel.backgroundColor = [UIColor cyanColor];
        [self.contentView addSubview:_numberLabel];
        
    }
    return self;
}
// 布局子视图及本身
// 有内容或坐标改变时, 会触发该方法
- (void)layoutSubviews {
    // 千万不要忘记super layoutSubviews
    [super layoutSubviews];
    
    NSLog(@"初始化时, cell的frame是:%@", NSStringFromCGRect(self.frame));
    
    // layoutSubviews中, 负责给视图布局
    // 不要使用cell的frame去进行布局
    // 而是使用contentView进行布局
    _view.frame = CGRectMake(0, 0, self.contentView.frame.size.width, 100);
    _myImageView.frame = CGRectMake(0, 0, 100, 100);
    
    _newsLabel.frame = CGRectMake(100, 0, self.contentView.frame.size.width - 100, 40);
    _contentLabel.frame = CGRectMake(100, 30, self.contentView.mf_width - 100, 60);
    _numberLabel.frame = CGRectMake(330, 70, 40, 20);
    // 如果用坐标系转化的话
    // 有两种解决视图突变的方法
    // 1. 再将子视图加到原来的父视图上
    // 2. 对他的父视图进行判断,
}
- (void)setNews:(News *)news {
    _news = news;
    self.myImageView.image = [UIImage imageNamed:news.newsImage];
    self.newsLabel.text = news.title;
    self.contentLabel.text = news.newsDescription;
    self.numberLabel.text = news.newsNumberCount;
}
- (void)awakeFromNib {
    // Initialization code
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

@end
